package rlyy.framework.core.expand;

import rlyy.framework.core.common.request.FullRequest;
import rlyy.framework.core.common.response.ResponseResult;
import org.springframework.web.method.HandlerMethod;

/**
 * 请求到达Controller之前执行的逻辑
 *
 * @author yuanqinglong
 * @since 2020/12/31 17:35
 */
public interface IExecuteBeforeAndAfterBusinessProcessor {


    /**
     * 处理业务逻辑之前执行
     *
     * @param fullRequest 请求参数
     * @param handlerMethod   反射执行的目标方法及声明类
     */
    default void invokeMethodBeforePostProcessor(FullRequest fullRequest, HandlerMethod handlerMethod) {

    }


    /**
     * 处理业务逻辑之后执行
     *
     * @param fullRequest 请求信息
     * @param result  返回数据
     */
    default void invokeMethodAfterPostProcessor(FullRequest fullRequest, ResponseResult result) {

    }
}
